package com.lh.blogCommon.config;

import com.google.common.base.Predicates;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

//创建时间 2021/3/16
//创建人 lh
@Configuration
@EnableSwagger2
public class Swagger2Config {

    @Bean
    public Docket webApiConfig(){
        return new Docket(DocumentationType.SWAGGER_2).
                groupName("webApi").
                apiInfo(webApiInfo()).
                select().
                paths(Predicates.and(PathSelectors.regex("/api/.*"))).
                build();
    }

    @Bean
    public Docket adminConfig(){
        return new Docket(DocumentationType.SWAGGER_2).
                groupName("adminApi").
                apiInfo(adminApiInfo()).
                select().
                paths(Predicates.and(PathSelectors.regex("/admin/.*"))).
                build();
    }

    @Bean
    public ApiInfo webApiInfo(){
        return new ApiInfoBuilder().
                title("网站的API文档").
                description("本文档描述了辉煌阁个人博客的api接口定义").
                version("1.0").
                contact(new Contact("lhui","http://lhui.com","1041416140@qq.com")).
                build();

    }

    @Bean
    public ApiInfo adminApiInfo(){
        return new ApiInfoBuilder().
                title("后台管理系统的API文档").
                description("本文档描述了辉煌阁个人博客后台管理系统的api接口定义").
                version("1.0").
                contact(new Contact("lhui","http://lhui.com","1041416140@qq.com")).
                build();
    }

}
